﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations; // foreignkey etc
using System.ComponentModel.DataAnnotations.Schema; //allows for key reference
using System.Web.Mvc; //allows for hiddenfield web/html properties

namespace BaseballGame.Models
{
	public class Team
	{
        public int Id { get; set; }

        [Display(Name = "Team Name")]
        public string teamName { get; set; }
        public List<Player> Players { get; set; }

        [Display(Name = "Pitcher")]
        public int PitcherId { get; set; }
        public Player Pitcher { get; set; }

        [Display(Name = "First Base")]
        public int FirstBaseId { get; set; }
        public Player FirstBase { get; set; }

        [Display(Name = "Second Base")]
        public int SecondBaseId { get; set; }
        public Player SecondBase { get; set; }

        [Display(Name = "Shortstop")]
        public int ShortStopId { get; set; }
        public Player ShortStop { get; set; }

        [Display(Name = "Third Base")]
        public int ThirdBaseId { get; set; }
        public Player ThirdBase { get; set; }

        [Display(Name = "Catcher")]
        public int CatcherId { get; set; }
        public Player Catcher { get; set; }

        [Display(Name = "Left Field")]
        public int LeftFieldId { get; set; }
        public Player LeftField { get; set; }

        [Display(Name = "Right Field")]
        public int RightfieldId { get; set; }
        public Player Rightfield { get; set; }

        [Display(Name = "Center Field")]
        public int CenterFieldId { get; set; }
        public Player CenterField { get; set; }


        [Display(Name = "Bench First Base")]
        public int B_FirstBaseId { get; set; }
        public Player B_FirstBase { get; set; }

        [Display(Name = "Bench Second Base")]
        public int B_SecondBaseId { get; set; }
        public Player B_SecondBase { get; set; }

        [Display(Name = "Bench Shortstop")]
        public int B_ShortStopId { get; set; }
        public Player B_ShortStop { get; set; }

        [Display(Name = "Bench Third Base")]
        public int B_ThirdBaseId { get; set; }
        public Player B_ThirdBase { get; set; }

        [Display(Name = "Bench Catcher")]
        public int B_CatcherId { get; set; }
        public Player B_Catcher { get; set; }

        [Display(Name = "Bench Left Field")]
        public int B_LeftFieldId { get; set; }
        public Player B_LeftField { get; set; }

        [Display(Name = "Bench Right Field")]
        public int B_MidfieldId { get; set; }
        public Player B_Midfield { get; set; }

        [Display(Name = "Bench Center Field")]
        public int B_CenterFieldId { get; set; }
        public Player B_CenterField { get; set; }

        [Display(Name = "Bullpen1")]
        public int BullPen1Id { get; set; }
        public Player BullPen1 { get; set; }

        [Display(Name = "Bullpen2")]
        public int BullPen2Id { get; set; }
        public Player BullPen2 { get; set; }

        [Display(Name = "Bullpen3")]
        public int BullPen3Id { get; set; }
        public Player BullPen3 { get; set; }

        [Display(Name = "Bullpen4")]
        public int BullPen4Id { get; set; }
        public Player BullPen4 { get; set; }

        [Display(Name = "Closer")]
        public int CloserId { get; set; }
        public Player Closer { get; set; }

        [HiddenInput(DisplayValue = false)]  //havent updated the controller for it
        public int teamManagerId { get; set; } // will take foreign key of UserProfile
	}
}
